Embedding Finite Sets in a Logic Programming Language
نویسندگان
چکیده
A way of introducing simple (finite) set designations and operations as first-class objects of an (unrestricted) logic programming language is discussed from both the declarative and the operational semantics viewpoint. First, special set terms are added to definite Horn clause logic and an extended Herbrand Universe based on an axiomatic characterization of the kind of sets we are dealing with is defined accordingly. Moreover, distinguished predicates representing set membership and equality are added to the base language along with their negative counterparts (π and ). A new unification algorithm which can cope with set terms is developed and proved to terminate. Usual SLD resolution is modified so as to incorporate the new unification algorithm and to properly manage the distinguished predicates for set operations (in particular, conjunctions of atoms containing π and are dealt with as constraints, first reduced to a canonical form through a suitable canonization algorithm). Finally, the application of the resulting language to the definition of Restricted Universal Quantifiers is discussed.
منابع مشابه
Membership-Constraints and Complexity in Logic Programming with Sets
General agreement exists about the usefulness of sets as very highlevel representations of complex data structures. Therefore it is worthwhile to introduce sets into constraint logic programming or set constraints into programming languages in general. We start with a brief overview on different notions of sets. This seems to be necessary since there are almost as many different notions in the ...
متن کاملImperative Programming in Sets with Atoms
We define an imperative programming language, which extends while programs with a type for storing atoms or hereditarily orbit-finite sets. To deal with an orbit-finite set, the language has a loop construction, which is executed in parallel for all elements of an orbit-finite set. We show examples of programs in this language, e.g. a program for minimising deterministic orbit-finite automata. ...
متن کاملCompiling Intensional Sets in CLP
Constructive negation has been proved to be a valid alternative to negation as failure, especially when negation is required to have, in a sense, an ‘active’ role. In this paper we analyze an extension of the original constructive negation in order to gracefully integrate with the management of set-constraints in the context of a Constraint Logic Programming Language dealing with finite sets. W...
متن کاملIntegration of Finite Domain Constraints
A constraint programming system usually consists of two main components: a modelling language used to describe a constraint satisfaction problem and a constraint solver searching for solutions to the given problem by applying specific algorithms. As constraint programming and functional logic languages share some common features, like computing with logic variables or the use of backtracking fo...
متن کاملUne procédure de décision pour un problème de satisfiabilité dans un univers ensembliste héréditairement fini
In this paper, we deal with the satisfiability problem for Systems of constraints over hereditarily finite sets This problem is central for integrating sets in programming languages, and particularly for constraint logic programming languages The approach we propose hère is based on reducing Systems of set constraints into Systems ofhnear integer equalities and inequahties (with bounded domain)...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1992